<?php


namespace App\store\services;


use App\store\models\GoodsModel;

class GoodsServices
{

    /**
     * 获取 - 商品列表
     *
     * @param $data //请求参数数组
     * @return array
     */
    public static function getGoodsList($data)
    {
        if (empty($data) && $data == false) {
            return [];
        }

        $page = !isset($data['page']) ? 0 : $data['page'];unset($data['page']);
        $limit = !isset($data['limit']) ? 10 : $data['limit'];unset($data['limit']);

        $where_data = [];
        if (isset($data['store_id']) && !empty($data['store_id'])) {
            $where_data[] = ['store_id','=',$data['store_id']];
        }
        if (isset($data['status']) && !empty($data['status'])) {
            $where_data[] = ['status','=',$data['status']];
        }
        if (isset($data['type']) && !empty($data['type'])) {
            $where_data[] = ['type','=',$data['type']];
        }
        if (isset($data['categorys']) && !empty($data['categorys'])) {
            $where_data[] = ['categorys','=',$data['categorys']];
        }
        if (isset($data['group']) && !empty($data['group'])) {
            $where_data[] = ['group','=',$data['group']];
        }
        if (isset($data['is_support']) && !empty($data['is_support'])) {
            $where_data[] = ['is_support','=',$data['is_support']];
        }
        if (isset($data['sales_group']) && !empty($data['sales_group'])) {
            $sales_group = explode(',', $data['sales_group']);
            $where_data[] = ['real_sales', '>=', $sales_group[0]];
            $where_data[] = ['real_sales', '<=', $sales_group[1]];
        }
        if (isset($data['city']) && !empty($data['city'])) {
            $where_data[] = ['city','=',$data['city']];
        }

        $list = GoodsModel::listed($page, $limit, $where_data);
        return $list;
    }

    /**
     * 添加/编辑 - 商品详情
     *
     * @param $data //请求参数数组
     * @return array
     */
    public static function modifyGoods($data)
    {
        if (empty($data) && $data == false) {
            return [];
        }

        // 当定时下架打开时使用必填
        if (isset($data['is_timing_removal']) && !empty($data['is_timing_removal'])) {
            if ($data['removal_time'] == false) {
                errorJson('下架时间必须填写!', []);
            }
        }

        $id = !empty($data['goods_id']) ? $data['goods_id'] : 0;unset($data['goods_id']);
        $data['removal_time'] = !empty($data['removal_time']) ? strtotime($data['removal_time']) : 0;

        if ($id) {
            $list = GoodsModel::updatedData($id, $data);
        } else {
            $list = GoodsModel::insertData($data);
        }

        return $list;
    }

    /**
     * 删除/下架 - 商品
     *
     * @param $data //请求参数数组
     * @return array
     */
    public static function updateGoodStatus($data)
    {
        if (empty($data) && $data == false) {
            return [];
        }

        $data['id'] = !empty($data['goods_id']) ? $data['goods_id'] : 0;unset($data['goods_id']);
        $update_data['status'] = !empty($data['status']) ? $data['status'] : 0;unset($data['status']);

        $list = GoodsModel::deleteds($data, $update_data);
        return $list;
    }

}
